加強容器安全可以從哪些方面入手
加強容器安全可以從以下方面入手:
容器操作系統與多租戶:對于開發人員來說,容器使得他們更容易地構建和升級應用程序,它可以作為一個應用單元的被依賴,通過在共享主機上部署啟用多租戶應用程序來最大限度地利用服務器資源。容器很容易在單個主機上部署多應用程序,并根據需要開啟和關閉單個容器。為了充分利用這種打包和部署技術,運維團隊需要正確的運行容器環境。運維人員需要一個操作系統,該系統可以在邊界處保護容器,使主機內核與容器隔離并確保容器彼此之間安全。
容器內容:于容器的各種軟件包版本現在一應俱全,所以你不需要建立自己。但是,與從外部源下載的任何代碼一樣,您需要知道包的起源、它們是由誰創建,以及它們內部是否存在惡意代碼。
容器注冊:你的團隊構建容器的時候基于下載的公共容器鏡像, 所以對它的訪問管理和更新下載是管理的關鍵,需以同樣的方式管理容器鏡像、內建的鏡像及其他類型的二進制文件。許多私有倉庫注冊服務器支持存儲容器鏡像。選擇一個私有的、存儲使用的容器鏡像自動化策略的注冊服務器。
構建過程安全:在一個容器化的環境里,軟件的構建是整個生命周期的一個階段,應用程序代碼需要與運行庫集成。管理此構建過程是確保軟件棧安全的關鍵。堅持“一次構建,到處部署(build once, deploy everywhere)”的理念,確保構建過程的產品正是生產中部署的產品。這一點對于維護容器持續穩定也非常重要,換句話說,不要為運行的容器打補丁;而是應該重新構建、重新部署它們。 無論您是在高度規范的行業中工作,還是僅僅想優化團隊的工作,需要設計容器鏡像的管理和構建過程,以利用容器層實現控制分離。
控制集群中可部署的內容:為了防備在構建過程中發生任何問題,或者在部署一個鏡像后發現漏洞,需要增加以自動化的、基于策略的部署的另一層安全性。讓我們看一下構建應用程序的三個容器鏡像層:核心層(core)、中間件層(middleware)和應用層(application)。一個問題如果在核心鏡像被發現,鏡像會重新構建。一旦構建完成,鏡像將被推入容器平臺注冊服務器。平臺可以檢測到鏡像發生了變化。對于依賴于此鏡像并有定義觸發器的構建,該平臺將自動重建應用程序并整合已經修復的庫。一旦構建完成,鏡像將被推入容器平臺的內部注冊服務器。內部注冊服務器中鏡像的變化能立即檢測到,通過應用程序中定義的觸發器自動部署更新鏡像,確保生產中運行的代碼總是與最近更新的鏡像相同。所有這些功能協同工作,將安全功能集成到您的持續集成和持續部署(CI / CD)過程中。
加強容器平臺安全:編排管理服務器是訪問的中心點,應該得到最高級別的安全檢查。API 是大規模自動化容器管理的關鍵,用于驗證和配置容器、服務和復制控制器的數據;對傳入的請求執行項目驗證;并調用其他主要系統組件上的觸發器。
網絡隔離:在容器部署現代微服務應用程序往往意味著在多個節點分布式部署多個容器。考慮到網絡防御,您需要一種在集群中隔離應用程序的方法。通過網絡命名空間,每個容器集合(稱為“POD”)獲得自己的IP和端口綁定范圍,從而在節點上隔離 POD 網絡。